// 节流
let flag = true
// 点击动画函数
function walk(ele, endFrom, callback) {
  if (flag) {
    flag = false
    let time = setInterval(() => {
      // 拖动图片的时候会有小数的存在
      let marginLeft = Math.ceil(Number(ele.style.marginLeft.split("px")[0]))
      if (marginLeft == endFrom) {
        // 达到无缝的效果
        if (marginLeft == -ele.offsetWidth) {
          ele.style.marginLeft = 0
        }
        if (marginLeft == 0) {
          ele.style.marginLeft = -ele.offsetWidth + "px"
        }
        // 到达目的，结束定时器
        clearInterval(time)
        
        // 如果有回调就执行
        callback && callback()

        // 结束才能开启下次动画(节流)
        flag = true
        return
      }
      // 速度递减
      let count = (endFrom - marginLeft) / 10
      num = endFrom >= marginLeft ? Math.ceil(count) : Math.floor(count)
      ele.style.marginLeft = marginLeft + num + "px"
    }, 5);
  }
}